SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TWSACA_REPO_Q95]   
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS    --*/  
/*---Sistema              : TESORERIA    --*/  
/*---M+dulo               : Empresa                    --*/  
/*---Programa             : RPTE. INGRESOS - EGRESOS CAJA--*/  
/*---Script               : TMSABA_M.SQL         --*/  
/*---Nombre SP            : SP_TWSACA_REPO_Q95  --*/  
/*---Desarrollado por     : DCHIANG         --*/  
/*---Fecha Creacion   : 22/02/2005         --*/   
/*---Base Datos           : SQLSERVER    --*/  
/*---Versi+n              : 8.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : DCHIANG         --*/  
/*---Fecha Modificaci+n   : 22/02/2005    --*/   
/*---Detalle Modificaci+n : A SQL         --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*--------------------------------------------------------------------- */  
/* Drop Proc SP_TWSACA_REPO_Q95        */  
/* Grant Execute On SP_TWSACA_REPO_Q95 To Public     */  
/* SP_TWSACA_REPO_Q95'10', '001' , null        */  
/*----------------------------------------------------------------------*/  
@ISCO_EMPR TD_VC_002,   
@ISCO_USUA TD_VC_008,   
@ISFE_OPER varchar(10),  
@ISCO_CAJA TD_VC_008,   
@ISCO_CONS_MOVI VARCHAR(255),   
@ISDE_CONS_FECH VARCHAR(255)  
 As  
Create Table #TWPOSI_CAJA_Q01_01  
( CO_EMPR varchar(02) NULL,  
CO_CAJA varchar(08) NULL,  
IM_INGR Numeric(16,4) null,  
IM_EGRE Numeric(16,4) null,  
IM_CHEQ_CART Numeric(16,4) null )  
  
Create Table #TWPOSI_CAJA_Q01_02  
( CO_EMPR varchar(02) NULL,  
CO_CAJA varchar(08) NULL,  
IM_INGR Numeric(16,4) null,  
IM_EGRE Numeric(16,4) null,  
IM_CHEQ_CART Numeric(16,4) null )  
  
  
Create Table #TWSACA_REPO  
(CO_EMPR CHAR(02) NULL,   
 CO_CAJA VARCHAR(08) NULL,  
 AA_CAJA VARCHAR(04) NULL,  
 MM_CAJA VARCHAR(02) NULL,  
 IM_SALD_INIC Numeric(16,4) NULL)   
  
Create Table #TWSACA_REPO_AUXI(   
 CO_EMPR VARCHAR(02) NULL,  
 CO_CAJA VARCHAR(08) NULL,  
 IM_SALD_INIC Numeric(16,4) NULL)   
  
CREATE TABLE #TWMOVI_CAJA_INEG  
(CO_EMPR VARCHAR(02) NULL,  
CO_CAJA VARCHAR(08) NULL,  
DE_NOMB_CAJA VARCHAR(100) NULL,  
TI_MOVI CHAR(01) NULL,  
TI_ENTI CHAR(01) NULL,  
CO_ENTI VARCHAR(20) NULL,  
DE_ENTI VARCHAR(100) NULL,  
CO_MONE VARCHAR(03) NULL,  
TI_SITU VARCHAR(03) NULL,  
NU_COMP_CAJA VARCHAR(08) NULL,  
CO_TIPO_DOCU VARCHAR(03) NULL,  
NU_DOCU VARCHAR(15) NULL,  
DE_OBSE VARCHAR(100) NULL,  
IM_INGR NUMERIC(16,4) NULL,  
IM_EGRE NUMERIC(16,4) NULL,  
FE_OPER DATETIME NULL,  
FE_REPO DATETIME NULL,  
SA_INIC NUMERIC(16,4) NULL )  
  
-- DECLARO VARIABLES DE TRABAJO  
  
DECLARE  
@VSCO_USUA TD_VC_008,  
@VDFE_OPER TD_DT_001  
  
-- ASIGNO LAS VARIABLES DE TRABAJO CON LAS VARIABLES DE ENTRADA  
  
SELECT @VSCO_USUA = @ISCO_USUA  
SELECT @VDFE_OPER = Convert(Datetime, @ISFE_OPER, 103)  
  
-- INVOCA PROCEDURE PARA CARGA DE TABLAS TEMPORALES (SALDOS)  
  
EXECUTE SP_TWSACA_REPO_Q91 @VDFE_OPER  
  
-- SENTENCIA QUE GRABA EN LA #TWMOVI_CAJA_INEG  
  
EXEC('Insert Into #TWMOVI_CAJA_INEG  
( CO_EMPR, DE_NOMB_CAJA,  CO_CAJA, TI_MOVI, TI_ENTI, CO_ENTI, DE_ENTI, CO_MONE,   
  TI_SITU, NU_COMP_CAJA, CO_TIPO_DOCU,  NU_DOCU,   
  IM_INGR,   
  IM_EGRE,   
  FE_OPER, SA_INIC )  
  
Select t1.CO_EMPR, t6.DE_CAJA, t1.CO_CAJA , t1.TI_MOVI, t1.TI_ENTI, t1.CO_ENTI, t1.DE_ENTI, t6.CO_MONE,   
       t1.TI_SITU, t1.NU_COMP_CAJA, t1.CO_TIPO_DOCU, t1.NU_DOCU,   
       PATINDEX  
("ACT", t1.TI_SITU ) * PATINDEX("I", t1.TI_MOVI )* t1.IM_MOVI,  
       PATINDEX("ACT", t1.TI_SITU ) * PATINDEX("E", t1.TI_MOVI )* t1.IM_MOVI,  
       t1.FE_OPER , t7.IM_SALD_INIC  
       From TCMOVI_CAJA t1, TMEMPR t4,  TMCAJA t6,  #TWSACA_REPO t7  
       Where t1.CO_EMPR = "' + @ISCO_EMPR + '"  
 And t1.CO_CAJA  = "' + @ISCO_CAJA + '"   
 And t1.CO_EMPR = t4.CO_EMPR  
 And t1.CO_EMPR = t6.CO_EMPR  
 And t1.CO_CAJA = t6.CO_CAJA  
 And t7.CO_EMPR = t1.CO_EMPR  
 And t7.CO_CAJA = t1.CO_CAJA  
 And Exists ( Select CO_EMPR From  TTUSER_CAJA t8  
 Where t1.CO_EMPR = t8.CO_EMPR  
 And t1.CO_CAJA  = t8.CO_CAJA  
 And t8.CO_USUA = "' + @ISCO_USUA + '"  
 And t8.ST_REPO = "S" ) ' + @ISCO_CONS_MOVI + @ISDE_CONS_FECH )  
  
 UPDATE #TWMOVI_CAJA_INEG  
 Set FE_REPO = FE_OPER  
  
  
        Select T1.NU_COMP_CAJA, T1.FE_REPO AS FE_REPO, T1.CO_TIPO_DOCU, T1.NU_DOCU,   
    T1.TI_ENTI, T1.CO_ENTI, Substring(t1.DE_ENTI,1,20) as NO_AUXI,   
    isnull(T1.IM_INGR,'0.00') AS IM_INGR,  
    isnull(T1.IM_EGRE,'0.00') AS IM_EGRE,  
    isnull(T1.SA_INIC,'0.00') AS SA_INIC,  
    T1.TI_SITU  
    From #TWMOVI_CAJA_INEG T1  
    ORDER BY 1 , convert(datetime,T1.FE_REPO,103)  
  
/*------------------------------ FIN ---------------------------------*/


GO
